/**
 * 对ajax的post方法封装。
 * 返回参数的对象中必须包含有success字段和msg字段
 * success=true表示成功，将会执行fun函数，false将会执行fail函数。
 * msg里面存放的是success=false时的提示信息。
 * 
 * @param url 请求地址
 * @param param 请求参数
 * @param fun 请求成功的执行函数，该函数可设定一个参数 就是后台返回的对象
 * @param fail 请求失败的执行函数，该函数可设定一个参数 就是后台返回的对象
 */
function post(url, param, fun, fail) {
	var loadIndex = layer.msg('正在加载', {icon : 16,time : 0
	});
	$.post(url, param, function(e) {
		layer.close(loadIndex);
		if (e.success) {
			if (typeof (fun) == 'function') {
				fun.call(this, e);
			}
		} else {
			if (typeof (fail) == 'function') {
				if (fail.call(this, e)) {
					return;
				}
			}
			layer.msg(e.msg || '获取数据失败', {icon : 2,time : 1500});
		}
	}).fail(function(jqXHR, textStatus) {
		layer.close(loadIndex);
		layer.msg('连接失败', {icon : 2,time : 1500});
	});
}

/**调用示例**/
post("http://xxx.xxx.xxx/xxx", $('#form').serialize(), function(e){
	//e是后台返回的对象实体
	//成功的 TODO:..
}, function(e){
	//失败的 TODO:..
});
